"""
智能等待：
driver.implicitly_wait() : 括号里写上最长等待时间

"""

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

driver = webdriver.Chrome()

driver.maximize_window()
driver.get('https://www.baidu.com')
driver.find_element(By.ID,'kw').send_keys('柠檬班')
driver.find_element(By.ID,'su').click()

# 显性等待 (需要练习 有难度)
# 元素定位表达是元组的格式
loc = (By.PARTIAL_LINK_TEXT,'专注线上培养软件测试高阶人才')
# 最长等待8s 直到元素可以被点击了 才会结束等待执行后面的操作。 如果一直不可点击，timeout报错。
WebDriverWait(driver,18).until(EC.element_to_be_clickable(loc)).click()
#
WebDriverWait(driver,5).until(EC)

# 既然显示等待每个元素都会用，所以封装，多次调用。


# 总结
# 导包和写法注意
# loc = (By.PARTIAL_LINK_TEXT,'专注线上培养软件测试高阶人才')
# # 最长等待8s 直到元素可以被点击了 才会结束等待执行后面的操作。 如果一直不可点击，timeout报错。
# WebDriverWait(driver,18).until(EC.element_to_be_clickable(loc)).click()
# #
# WebDriverWait(driver,5).until(EC)